home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00023_Script_PDF_Open from field < prev    next >
Text File  |  2006-07-11  |  6KB  |  126 lines

  1. -- Open
  2.  
  3. Property pEvent, pSprite, pMemberName, pPathType, pPage, pZoom, pScale, pDisplayMode, pToolbar, pScrollbars, pScrollH, pScrollV, pAlertFlag
  4.  
  5. on doOpen me
  6.   set f = the text of member pMemberName
  7.   if (f="") then exit
  8.   case pPathType of:
  9.     "Relative to Movie": set f = the moviePath & f 
  10.     "Relative to Playback Engine": set f = the applicationPath & f
  11.   end case
  12.   case pZoom of:
  13.     "Fit in Window": set zm = #fitInWindow
  14.     "Actual Size": set zm = #actualSize
  15.     "Fit Width": set zm = #fitWidth
  16.     "Fit Height": set zm = #fitHeight
  17.     "Fit Visible":  set zm = #fitVisible
  18.     otherwise: 
  19.       if (pScale<8) or (pScale>1600) then
  20.         alert "Invalid zoom value"
  21.         exit
  22.       else
  23.         set zm = pScale
  24.       end if
  25.   end case
  26.   case pDisplayMode of:
  27.     "Pages Only": set dm = #pagesOnly
  28.     "Bookmarks and Pages": set dm = #bookmarkAndPages
  29.     "Thumbnails and Pages": set dm = #thumbnailAndPages
  30.   end case
  31.   set err = PDF_Open(sprite pSprite, f, [#page:pPage, #zoom:zm, #displayMode:dm, #toolbar:pToolbar, #scrollBars:pScrollbars, #scrollH:pScrollH, #scrollV:pScrollV])
  32.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  33. end doOpen
  34.  
  35. on mouseUp me
  36.   if (pEvent = #mouseUp) then doOpen(me)
  37. end mouseUp
  38.  
  39. on mouseDown me
  40.   if (pEvent = #mouseDown) then doOpen(me)
  41. end mouseDown
  42.  
  43. on prepareFrame me
  44.   if (pEvent = #prepareFrame) then doOpen(me)
  45. end prepareFrame
  46.  
  47. -- standard behavior stuff --
  48. on getPropertyDescriptionList me
  49.   set defaultValues = GetDefaultValues (me)
  50.   
  51.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  52.   set defSprite     = getProp (defaultValues, #defaultSprite)
  53.   if (defSprite=0) then 
  54.     if the ticks - pAlertFlag > 10 then
  55.       alert "Please create a sprite of type PDF first."
  56.     end if
  57.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  58.     
  59.     exit
  60.   end if
  61.   set defFieldMember = FindFirstMember(#field)
  62.   if (string(defFieldMember) contains "member 0") then 
  63.     alert "You need at least one member of type #field to use this behavior."
  64.     exit
  65.   end if
  66.   set p_list = [#pEvent: [ #comment: "Event", #format:#symbol, #range:[#mouseUp, #mouseDown, #prepareFrame], #default:#mouseUp],#pSprite: [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite],#pMemberName: [#comment: "File name is in field:", #format: #field, #default:defFieldMember],#pPathType: [ #comment: "Path is:", #format: #symbol,#range: [ "Absolute or URL", "Relative to Movie", "Relative to Playback Engine" ],#default: "Absolute or URL" ],#pPage: [ #comment: "Start at page:", #format: #integer, #default:1 ],#pZoom: [ #comment: "Start at zoom:", #format:#symbol, #range:["Fit in Window", "Actual Size", "Fit Width", "Fit Height","Fit Visible", "Other (specify below)"], #default:"Fit Visible"],#pScale: [ #comment: "Other zoom (8..1600):", #format:#integer, #default:""],#pDisplayMode: [ #comment: "Display mode:", #format:#symbol, #range:["Pages Only", "Bookmarks and Pages", "Thumbnails and Pages"],#default:"Pages Only" ],#pToolbar: [ #comment: "Show Toolbar:", #format:#boolean, #default:TRUE ],#pScrollbars: [ #comment: "Show Scrollbars:", #format:#boolean, #default:TRUE ],#pScrollH: [ #comment: "Scroll H:", #format: #integer, #default:0 ],#pScrollV: [ #comment: "Scroll V:", #format: #integer, #default:0 ]]
  67.   return p_list
  68. end
  69.  
  70. on getBehaviorDescription
  71.   return "Link the PDF document whose name is specified in a Director field to the designated PDF Xtra sprite. If the designated sprite is already linked to a PDF document, that document is first closed and then the new one opened. Parameters are: " &RETURN& "- Page to start at" &RETURN& "- Scaling (fit in window, actual size, fit width, fit height, fit visible or a percentage in the range [8..1600])" &RETURN& "- Display mode (pages only, bookmarks and pages, thumbnails and pages)" &RETURN& "- Show/hide toolbars" &RETURN& "- Show/hide scrollbars" &RETURN& "- Intital H/V scroll position." &RETURN& "Free to use and abuse. (c)1999, Integration New Media, Inc." &RETURN& "Thanks to James Newton for his suggestions"
  72. end
  73.  
  74. -- utils --
  75. on GetDefaultValues me
  76.   if the currentSpriteNum then
  77.     set spriteList = GetSpriteList (me #PDF)
  78.     if count (spriteList) then
  79.       set defaultSprite = getAt (spriteList, 1)
  80.     else
  81.       set defaultSprite = 0
  82.     end if
  83.     
  84.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  85.     
  86.   else -- the currentSpriteNum = 0
  87.     -- Director is merely recompiling this script: return dummy values
  88.     return [#spriteList: [1], #defaultSprite: 1]
  89.   end if
  90. end 
  91.  
  92.  
  93. on GetSpriteList me, memberType
  94.   -- return list of sprites of type memberType in current frame
  95.   global version
  96.   if (char 1 of version = 6) then
  97.     set maxSprite = 120
  98.   else
  99.     set maxSprite = the lastChannel
  100.   end if
  101.   
  102.   set aList=[]
  103.   
  104.   repeat with i = 1 to maxSprite
  105.     set spriteMember = the member of sprite i
  106.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  107.     if (the type of spriteMember = memberType) then -- (JN) Line break
  108.       append (aList, i)
  109.     end if
  110.   end repeat
  111.   
  112.   return aList
  113. end GetSpriteList
  114.  
  115.  
  116. on FindFirstMember t
  117.   -- Find first member of type t
  118.   repeat with c = 1 to the number of castLibs
  119.     repeat with i = 1 to the number of members of castLib c
  120.       set m = member i of castLib c
  121.       if (the type of m = t) then return m
  122.     end repeat
  123.   end repeat
  124.   return 0
  125. end FindFirstMember
  126.